<?php
/**
 * Modelo para la interaccion con los datos de los usuarios (tabla clientes)
 *
 * @author 3WD
 */

class Customer_model extends CI_Model {


    function __construct()
    {
        // Call the Model constructor
        parent::__construct();
    }
	 //genetrales
	
	function get_nombre($id_customer){
		$this->db->select("nombre_cliente");
		$this->db->from(SYSTEM_PREFIX.'clientes');
		$this->db->where('id_cliente', $id_customer);
		$consulta = $this->db->get();
	
		
		if ($consulta->num_rows() > 0){		
			foreach ($consulta->result_array() as $fila)
			{
				return $fila['nombre_cliente'];
			}
		} else {
			return 0;	
		}
	}
	
	
	function set_nombre($id_customer,$valor){
		$data = array(
		'nombre_cliente' => $valor
		);
		$this->db->where('id_cliente', $id_customer);
		return $this->db->update(SYSTEM_PREFIX.'clientes', $data);
	}	
	
	 //especificas
	 
	 public function get_array_customer() {
		$this->db->select("id_cliente, nombre_cliente");
		$this->db->from(SYSTEM_PREFIX.'clientes');		
		$consulta = $this->db->get();	
		
		if ($consulta->num_rows() > 0){		
			$i=0;
			foreach ($consulta->result_array() as $fila)
			{
				$key = $fila['id_cliente'];				
				$salida[$key] = $fila['nombre_cliente'];			
			}
			return $salida;
		} else {
			return 0;	
		}		 
		 
	 }

//especificas	
	
	
	function set_row_customer($nombre){
		$data = array(
		'nombre_cliente' => $nombre,		
		'fecha_creacion' => date('Y-m-d h:m:s')		
		);
		$this->db->insert(SYSTEM_PREFIX.'clientes', $data);
		
		$id = $this->db->insert_id();	
		return $id;
	
	}
	
	function get_id_cliente_by_nombre_customer($nombre_cliente){
		$this->db->select("id_cliente");
		$this->db->from(SYSTEM_PREFIX.'clientes');
		$this->db->where('nombre_cliente', $nombre_cliente);
		$consulta = $this->db->get();
	
		
		if ($consulta->num_rows() > 0){		
			foreach ($consulta->result_array() as $fila)
			{
				return $fila['id_cliente'];
			}
		} else {
			return 0;	
		}
	}
	
	public function getAllcustomers($sort, $direction, $limit=10, $offset=0)
	
	{
		$posts = array();
		
		$search = $this->session->userdata('search');
		
		$this->db->select("*");
		$this->db->from(SYSTEM_PREFIX.'clientes');		
		//$this->db->where('id_grupo', '3');	
		
		if(!empty($search)) {
			$this->db->like('nombre_cliente',$search);			
		}

		$this->db->order_by($sort, $direction); 
		$this->db->limit($limit, $offset); 
		return $this->db->get();
	}
	
	
	public function getNumcustomers()
	{	


		$search = $this->session->userdata('search');

		$this->db->select("*");
		$this->db->from(SYSTEM_PREFIX.'clientes');		
		//$this->db->where('id_grupo', '3');
		
		if(!empty($search)) {
			$this->db->like('nombre_cliente',$search);				
		}
		
		$this->db->order_by('id_cliente', 'desc'); 

		$query = $this->db->get();	
		return $query->num_rows();

	}
	
	function get_row_customer($id_customer){
		$this->db->select("*");
		$this->db->from(SYSTEM_PREFIX.'clientes');
		$this->db->where('id_cliente', $id_customer);
		$consulta = $this->db->get();
	
		
		if ($consulta->num_rows() > 0){		
			foreach ($consulta->result_array() as $fila)
			{
				return $fila;
			}
		} else {
			return 0;	
		}		
	}
	
	public function delete_customer($id_customer){
				
		$this->db->where('id_cliente', $id_customer);
		$this->db->delete(SYSTEM_PREFIX.'proyectos_clientes');	
		
		$this->db->where('id_cliente', $id_customer);
		return $this->db->delete(SYSTEM_PREFIX.'clientes');

	}


	 public function get_asign_list_customer($id_customer) {
		$this->db->select("id_proyectos_cliente, nombre, proyectos_clientes.tipo_cliente as tipo_usuario");
		$this->db->from(SYSTEM_PREFIX.'proyectos_clientes');
		$this->db->join(SYSTEM_PREFIX.'usuarios', SYSTEM_PREFIX.'usuarios.id_usuario ='.SYSTEM_PREFIX.'proyectos_clientes.id_usuario');
		$this->db->where('id_cliente', $id_customer);
		$consulta = $this->db->get();	
		
		if ($consulta->num_rows() > 0){		
			$i=0;
			foreach ($consulta->result_array() as $fila)
			{
				$salida[$i]['id_proyectos_cliente'] = $fila['id_proyectos_cliente'];	
				$salida[$i]['nombre'] = $fila['nombre'];	
				$salida[$i]['tipo_usuario'] = $fila['tipo_usuario'];	
				$i++;
			}
			return $salida;
		} else {
			return 0;	
		}		 
		 
	 }
	 
	 public function get_asign_select_customer($id_customer) {
		$this->db->select("id_usuario, nombre");
		$this->db->from(SYSTEM_PREFIX.'usuarios');
		$this->db->where('id_usuario NOT IN (SELECT id_usuario FROM '.SYSTEM_PREFIX.'proyectos_clientes WHERE id_cliente='.$id_customer.') AND  (tipo_usuario=\'cliente\' or tipo_usuario=\'administrador\')');
		
		$consulta = $this->db->get();	
		
		if ($consulta->num_rows() > 0){		
			$i=0;
			foreach ($consulta->result_array() as $fila)
			{
				$key = $fila['id_usuario'];				
				$salida[$key] = $fila['nombre'];			
			}
			return $salida;
		} else {
			return 0;	
		}		 
		 
	 }	 
	 

	function add_staff_to_customer($id_customer,$id_staff, $type_user){
		$data = array(
		'id_cliente' => $id_customer,
		'id_usuario' => $id_staff,
		'tipo_cliente' => $type_user		
		);
		$this->db->insert(SYSTEM_PREFIX.'proyectos_clientes', $data);
		
		$id = $this->db->insert_id();	
		return $id;
	
	}

	 public function get_exists_lider_staff_customer($id_customer) {
		$this->db->select("tipo_cliente");
		$this->db->from(SYSTEM_PREFIX.'proyectos_clientes');
		$this->db->where('tipo_cliente','principal');
		$this->db->where('id_cliente',$id_customer);
		
		$consulta = $this->db->get();	
		
		if ($consulta->num_rows() > 0){		
			foreach ($consulta->result_array() as $fila){
				return 'apoyo';		
			}			
		} else {
			return 'principal';	
		}		 
	 }

	function set_type_user_customer($id_customer,$id_customer_staff){
		$data = array(
		'tipo_cliente' => 'apoyo'
		);
		$this->db->where('id_cliente', $id_customer);
		$this->db->update(SYSTEM_PREFIX.'proyectos_clientes', $data);
		
		$data = array(
		'tipo_cliente' => 'principal'
		);
		$this->db->where('id_proyectos_cliente', $id_customer_staff);
		return $this->db->update(SYSTEM_PREFIX.'proyectos_clientes', $data);		
		
	}

	function delete_staff_customer($id_staff){
		$this->db->where('id_proyectos_cliente', $id_staff);
		return $this->db->delete(SYSTEM_PREFIX.'proyectos_clientes');		
	}
	
	 public function get_asign_select_customer_default() {
		$this->db->select("id_usuario, nombre");
		$this->db->from(SYSTEM_PREFIX.'usuarios');
		$this->db->where('tipo_usuario', 'cliente');
		$this->db->or_where('tipo_usuario', 'administrador'); 
		
		$consulta = $this->db->get();	
		
		if ($consulta->num_rows() > 0){		
			$i=0;
			foreach ($consulta->result_array() as $fila)
			{
				$key = $fila['id_usuario'];				
				$salida[$key] = $fila['nombre'];			
			}
			return $salida;
		} else {
			return 0;	
		}		 
		 
	 }	

	 
}